package cn.com.nes.site.service.workOrder.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 安装工单主体详情
 *
 * @Author: ShenWei
 * @Date: 2024/05/23/16:07
 */
@Data
public class WorkOrderRepairInfoDTO {
    /**
     * 安装工单id
     */
    private Long id;
    /**
     * 处理状态名称
     */
    private String workOrderStateName;
    /**
     * 创建人姓名
     */
    private String createUserName;
    /**
     * 创建时间
     */
    private Long gmtCreate; // Object -> Long 是因为返回给APP端需要确定字段类型，不能变来变去

    private Object cjsj;

    private Integer type;
    /**
     * 处理人姓名
     */
    private String handleUserName;
    /**
     * 处理时间
     */
    private Long gmtModified; // Object -> Long 是因为返回给APP端需要确定字段类型，不能变来变去
    /**
     * 联系人姓名
     */
    private String contact;
    /**
     * 联系人电话
     */
    private String contactPhone;
    /**
     * 地址
     */
    private String address;
    /**
     * 客户id
     */
    private String customerId;
    /**
     * 紧急程度名称
     */
    private String emergencyDegreeName;
    /**
     * 任务类型名称
     */
    private String taskTypeName;
    /**
     * 安装工单名称
     */
    private String workOrderName;
    /**
     * 安装施工状态
     */
    private Integer installState;

    /**
     * 工单状态
     */
    private Integer orderStatus;
    /**
     * 工单服务状态
     */
    private Integer orderServiceStatus;
    /**
     * 安装日期
     */
    private Date installDate;
    /**
     * 质保年份(年)
     */
    private String qualityGuaranteeYears;
    /**
     * 采购案源
     */
    private Integer procureSource;
    /**
     * 购置资金
     */
    private BigDecimal procureFund;
    /**
     * 约定上门时间-开始
     */
    private Date agreedDoorstepTimeStart;
    /**
     * 约定上门时间-结束
     */
    private Date agreedDoorstepTimeEnd;

    private Integer audited;

    private String sfzb;

    private String auditComment;
    /**
     * 热链云客户房屋id
     */
    private Long customerHouseId;

    @ApiModelProperty(value = "是否可撤销 true - 可以撤销")
    private Boolean canCancel;

    private String subsidiaryCompanyName;

    private String subsidiaryCompanyId;

    private String companyId;

    private String companyName;
    // 扩展字段
    private Long callCenterCompanyId; // 长效管护公司id
    private String orderCreateSource; // 订单来源 - 公司名称
    private String installStateName;  // 安装施工状态名称
    private String procureSourceName; // 采购案源名称
    private String orderStatusDesc; // 工单状态描述
    private String orderServiceStatusDesc; // 工单服务状态描述
    private String faultTypeDesc;//故障类型描述
    private String repairTypeDesc;//维修类型描述
    private String installDateStr;  // 安装日期
    private Integer distance;
    //维修类型1是压缩机2是换热器3是循环水路4冷媒循环5其他
    private String repairType;
    // 维修价格
    private BigDecimal repairPrice;
    //起步距离
    private BigDecimal baseDistance;
    //每公里价格
    private BigDecimal pricePerKM;
    //是否往返, 0否1是
    private Integer roundTrip;
    // 故障是否修理完毕, 0-已修好, 1-未修好, 2-等待配件

    private Integer repairResult;
    //是否收费, 0-未收费, 1-收费

    private Integer charged;
    //冷媒类型

    private String refrigerantType;
    //冷媒总价格

    private BigDecimal refrigerantPrice;
    //冷媒数量

    private BigDecimal refrigerantAmount;
    //责任方

    private String personliable;
    //工单关闭原因

    private String closingreason;
    //配件申请单id

    private String sparePartApplicationId;
    //支付状态,0-待支付,1-已支付

    private Integer paymentState;

    private Integer faultType;
    private List<SparePartDto> PartList;
    private List<SparePartDto> repairPriceList;


    private String verificationCode;

    private String xzqhdm;
    /**
     * 处理方式描述
     */
    private String handleDesc;
    private String desc;
    private String appealCategoryName;

    private  String workTypeName;

    private String evaluationName;

    private String maintainId;

    private Integer allowAudit;

    private String consultTypeName;
}
